package com.woniuxy.project.service;

import com.woniuxy.commons.entity.Invest;
import com.woniuxy.commons.request.ResPage;
import com.woniuxy.project.entity.IndexData;
import com.woniuxy.commons.request.ResponseResult;
import com.woniuxy.project.vo.AddProjectVo;
import com.woniuxy.commons.vo.ProjectVo;
import com.woniuxy.project.vo.ReviewProjectVo;
import com.woniuxy.commons.vo.SearchProjectVo;
import com.woniuxy.project.vo.SearchReceivablesVo;

import java.util.List;

public interface ProjectService {
    ResPage<List<ProjectVo>> searchProject(SearchProjectVo searchProjectVo);

    boolean addProject(AddProjectVo addProjectVo);

    boolean updateProject(AddProjectVo addProjectVo);

    AddProjectVo checkDetail(String pno);

    boolean passPreliminaryExamination(ProjectVo projectVo);

    void startInviteTenders(String pno);

    void endInviteTenders(String pno);

    ResPage<List<ProjectVo>> searchExamineProject(SearchProjectVo searchProjectVo);

    Boolean withdrawProject(ProjectVo project);

    IndexData getIndexData();

    List<SearchReceivablesVo> checkReceivables(String pno);

    ResPage<List<ProjectVo>> searchFullProject(SearchProjectVo searchProjectVo);

    boolean ReviewFailed(ProjectVo projectVo);

    boolean passReexamine(ProjectVo projectVo);

    ResPage<List<ReviewProjectVo>> searchReviewProject(SearchProjectVo searchProjectVo);

    boolean bid(Invest invest);
}
